Television chat system

ABSTRACT

A television chat system is provided that allows television viewers to engage in real-time communications in chat groups with other television viewers while watching television. Users of the television chat system may engage in real-time communications with other users who are currently watching the same television program or channel. 
     The system allows real-time communications in a chat group to be transmitted between users at user television equipment devices via a television distribution facility. The television chat system of the present invention permits users to join chat groups related to television programs, channels, or categories of programs that the user may be interested in. Real-time communications may be textual messages, audio communications, or video communications.

This application is a continuation of U.S. patent application Ser. No.10/918,753 filed on Aug. 12, 2004 which is a continuation of U.S. patentapplication Ser. No. 09/356,270 filed on Jul. 16, 1999, which claims thebenefit of U.S. Provisional application Ser. No. 60/099,301 filed Aug.26, 1998. The contents of each which are hereby incorporated byreference herein in their entirety.

BACKGROUND OF THE INVENTION

This invention relates to television chat systems, and moreparticularly, to techniques for supporting chat communications in atelevision environment that may include an interactive televisionprogram guide.

A popular aspect of the Internet relates to on-line chat services. Auser of such a service may join a chat group to discuss any of a varietyof topics. The participants in a chat are linked to each other over theInternet. The participants in a chat may view the comments of otherparticipants in real time as the other participants type in theircomments using their computers.

Television programs are often discussed in chat groups. However, thereis generally no way in which a user of a traditional chat service mayeasily view a television program while participating in a chat aboutthat program. A user might locate a television in the same room as theuser's personal computer, but such an arrangement would be awkward toview. Moreover, many households locate their televisions in the livingroom, but are reluctant to locate their computers in the living room.

Although personal computers may be provided with tuner cards that allowtelevision signals to be displayed on the computer monitor, manytelevision viewers would prefer to view television on a traditionaltelevision. Televisions generally offer greater viewing areas thancomputer monitors, so that users need not sit nearly as close to atelevision screen as they would a computer monitor. Televisions are alsotypically located in rooms within the home that are more suitable forwatching television than where computers are typically located.

A system that attempts to integrate aspects of the Internet with thetelevision viewing experience is available from WebTV Networks, Inc. ofPalo Alto, Calif. The WebTV system permits television viewers to accessthe Internet through a WebTV Plus Receiver connected to their televisionsets. The WebTV Plus Receiver enables users to surf the World Wide Webon their television by connecting their televisions to the web-basedWebTV Network through a standard phone line. The WebTV System permitsusers to view television program listings and web sites related totelevision programs that appear in the program listings.

The WebTV system also provides TV Crossover Links that allow users toaccess web sites that are related to television programs. The WebTV PlusReceiver detects data such as web links (i.e., universal resourcelocators (URLs)) that is embedded in the video broadcast and notifiesusers with a TV Crossover Link watermark on their television screens.The TV Crossover Links permit users to link to web sites through theInternet related to the television program that the user is watching.The user can view the web site and the television program simultaneouslythrough the WebPIP picture-in-picture function. If the web site supportschat features, the user might then engage in an on-line chat through theInternet while watching a television program. There is nothing in theWebTV system, however, that ensures that participants in this type ofweb-based chat are watching the same television programs as the user.The chat may therefore be considerably less focused than it would be ifall the chat participants were actively viewing the same televisionprogram.

During certain television programs, the MTV television channel displaysa scrolling chat message overlay on top of the current MTV televisionprogram. Users can link to the chat that is being displayed over theInternet. However, only those users whose television sets are located inthe same room as their personal computers may participate in the chat.Moreover, all viewers of the television program must watch the chat,even if they are not interested in participating. The system can onlyaccommodate one chat group, so if more than a few viewers wish to chat,it may be difficult or impossible to follow a particular chat thread ofinterest.

Interactive television program guides implemented on set-top boxes allowusers to view television program listings on their televisions. Suchprogram guides allow users to view television program listings indifferent display formats and to perform various other functions. Forexample, a user may instruct the program guide to display achannel-ordered grid of current program listings. The user may also usethe program guide to search for programs in a desired programmingcategory such as sports, movies, news, or the like. If desired, theprogram guide may be used to order pay-per-view programming. Interactiveprogram guides have not, however, been capable of providing chat relatedfeatures.

Thus, previously known systems have generally not provided televisionviewers with the opportunity to engage in real-time chat communicationswith other television viewers without relying solely on the Internet.Previously known systems also have not provided television viewers withthe opportunity to engage in chat groups consisting exclusively of otherviewers of a television program or channel. Previously known interactivetelevision program guides have not supported chat features.

SUMMARY OF THE INVENTION

It is an object of the present invention to provide a television chatsystem that does not rely solely on the Internet to form chatconnections and that permits users who are watching a television programor channel to engage in real-time chat communications with each other.

It is also an object of the present invention to provide an interactivetelevision program guide system that supports chat.

These and other objects of the invention are accomplished in accordancewith the principles of the present invention by providing a televisionchat system that allows television viewers to engage in real-timecommunications in chat groups with other television viewers whilewatching television. Users of the television chat system may engage inreal-time communications with other users who are currently watching thesame television program or channel.

The system allows real-time communications in a chat group to betransmitted between users at user television equipment devices via aserver. For example, a cable system headend containing a server maytransmit such communications over coaxial cables that also carrytelevision signals or other such communications paths. The systemtherefore may eliminate the need for additional communications pathsseparate from the paths that carry television signal broadcast channelsfor the transmission of chat communications.

The television chat system of the present invention permits users tojoin chat groups related to television programs, channels, or categoriesof programs that the user may be interested in. Real-time communicationsmay be textual messages, audio communications, or video communications.

The television chat system may also allow users to send chat requests toask other users to enter a chat group related to a television program orchannel. A chat request may be displayed automatically upon arecipient's television screen or may be accessed at the recipient'srequest. The system also permits users to establish chat groups thattelevision viewers are permitted to join.

The television chat system may be based on an interactive televisionprogram guide implemented on the set-top box. If desired, the system maybe implemented on other suitable user television equipment such as asatellite receiver, an advanced television receiver (e.g. a highdefinition television or HDTV receiver), a television into which set-topbox circuitry is integrated or the like.

Further features of the invention, its nature and various advantageswill be more apparent from the accompanying drawings and the followingdetailed description of the preferred embodiments.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A is a diagram of a television chat system in accordance with thepresent invention.

FIG. 18B is a diagram of user television equipment having a userinterface based on a wireless keyboard in accordance with the presentinvention.

FIG. 1C is a diagram of a television screen keyboard user interface inaccordance with the present invention.

FIG. 1D is a depiction of an illustrative display screen containing alist of standard messages or words in accordance with the presentinvention.

FIG. 2A is a system diagram showing how multiple television distributionfacilities may be connected via a communications network in accordancewith the present invention.

FIG. 2B is a system diagram showing how multiple user televisionequipment devices may be connected to a television distribution facilityand a separate server via neighborhood networks in accordance with thepresent invention.

FIG. 3 is a diagram of a system configuration in which multipletelevision distribution facilities are connected via a televisionchannel chat facility in accordance with the present invention.

FIG. 4 is a depiction of an illustrative display screen for enteringhousehold user profile information in accordance with the presentinvention.

FIG. 5 is a depiction of an illustrative display screen that allows auser to select a user profile in accordance with the present invention.

FIG. 6 is a depiction of an illustrative display screen for enteringnon-household user information in accordance with the present invention.

FIG. 7 is a depiction of an illustrative program guide address book fornon-household users in accordance with the present invention.

FIG. 8 is a flow chart showing the steps involved in creating useridentities in accordance with the present invention.

FIG. 9 is a depiction of an illustrative display screen containing videofor a television program and a chat group display region related to theprogram in accordance with the present invention.

FIG. 10 is a diagram of an illustrative system for the transmission ofreal-time audio chat communications to user television equipment inaccordance with the present invention.

FIG. 11 is an illustrative television display screen displaying videoimages of the participants in a chat group in accordance with thepresent invention.

FIG. 12 is a diagram of an illustrative system for the transmission ofvideo chat images in accordance with the present invention.

FIG. 13 is a depiction of an illustrative display screen that allows auser to join a chat group in accordance with the present invention.

FIG. 14 is a depiction of an illustrative display screen that allows auser to choose a chat group option in accordance with the presentinvention.

FIG. 15A is a depiction of an illustrative display screen for allowing auser to choose a chat group option related to the current televisionprogram in accordance with the present invention.

FIG. 15B is a depiction of an illustrative interactive televisionprogram guide display screen for allowing a user to select a scheduledchat group from a list to join, record, or set a reminder for inaccordance with the present invention.

FIG. 16 is a depiction of an illustrative display screen containingmultiple chat groups along with a television program in accordance withthe present invention.

FIG. 17 is a depiction of an illustrative display screen for allowing auser to enter a chat group related to a current television program inaccordance with the present invention.

FIG. 18A is a flow chart showing the steps involved in an approach forproviding a user with an opportunity to join a chat group in accordancewith the present invention.

FIG. 18B is a flow chart showing the steps involved in an approach forproviding a user with an opportunity to join a chat group between usersat other user television equipment devices in accordance with thepresent invention.

FIG. 18C is a flow chart showing the steps involved in an approach forproviding a user who is watching a television program with anopportunity to join a chat group only between users who are watching thetelevision program in accordance with the present invention.

FIG. 19 is a depiction of an illustrative display screen that allows auser to send a chat request to other users in accordance with thepresent invention.

FIG. 20 is a depiction of an illustrative display screen for displayingchat requests in accordance with the present invention.

FIG. 21 is a depiction of an illustrative display screen for displayinga chat request and permitting a user to join the chat group and/or tuneto the related channel in accordance with the present invention.

FIG. 22 is a flow chart showing steps involved in an approach fordistributing a chat request and supporting a chat group with the userand other users in accordance with the present invention.

FIG. 23 is a flow chart showing steps involved in an approach forestablishing a chat group with the user and other users in accordancewith the present invention.

FIG. 24 is a flow chart showing steps involved in an approach forjoining the user to a chat group in response to a chat request inaccordance with the present invention.

FIG. 25 is a diagram of an illustrative two-way interactive displayremote control device for sending and receiving chat messages in a chatgroup and chat requests in accordance with the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

An illustrative television chat system 10 in accordance with the presentinvention is shown in FIG. 1A. Main facility 12 may contain a programguide database 14 for storing program guide information such astelevision program guide listings data, pay-per-view orderinginformation, etc. Database 14 allows system 10 to support an interactivetelevision program guide if desired. Although the television chatfeatures of the present invention may be provided using a televisionchat system without a program guide, certain aspects of the inventionwill be described primarily in the context of an interactive televisionprogram guide system configuration for specificity and clarity.Information from database 14 may be transmitted to televisiondistribution facility 16 via communications link 18. Link 18 may be asatellite link, a telephone network link, a fiber optic link, a cablelink, a microwave link, a combination of such links, or any othersuitable communications path.

Television distribution facility 16 is a facility for distributingtelevision signals to users, such as a cable system headend, a broadcastdistribution facility, or a satellite television distribution facility.Only one television distribution facility 16 is shown in FIG. 1A toavoid over complicating the drawings. In general, however, main facility12 distributes information to multiple television distributionfacilities.

The program guide information transmitted by main facility 12 totelevision distribution facility 16 includes television program listingsdata such as program times, channels, titles, descriptions, etc. Theinformation transmitted from main facility 12 may also includeinformation on the chat groups that are available for particulartelevision programs or channels.

If desired, some of the program guide data and other information may beprovided using data sources at facilities other than main facility 12.For example, data relating to available program-specific chat groups maybe provided by a television channel chat facility or other facility thatis separate from main facility 12 and television distribution facility16.

Television distribution facility 16 distributes program guide data andother information to the user television equipment 20 of multiple usersvia communications paths 24. Communication paths 24 preferably havesufficient bandwidth to allow television distribution facility 16 todistribute scheduled television programming, pay programming, real-timecommunications, chat requests and other video and audio information touser television equipment 20 in addition to non-video program guideinformation and communications. The real-time communications supportedby communication paths 24 may be text-based or, if more bandwidth isavailable, may be audio or video communications.

Multiple television and audio channels (analog, digital, or both analogand digital) may be provided to set-top boxes 26 via communicationspaths 24. If each path 24 includes a number of traditional analogtelevision channels, one or more of these channels may be used tosupport a number of digital channels. The bandwidth of each analogchannel that is used to support digital channels may support ten or moreof such digital channels. Two-way digital channels require morebandwidth than one-way digital channels. Such two-way digital channelsmay support two-way real-time communications between set-top boxes 26and the television distribution facility 16. If two-way communicationsbetween set-top boxes 26 and television distribution facility 16 involveonly text or audio signals, the band width required to support suchtwo-way communications may be substantially less than the width requiredto support two-way communications involving video.

Real-time communications and chat requests may be distributed alongcommunications path 24 using any number of suitable techniques. Forexample, textual chat communications and chat requests may bedistributed using out-of-band channels on paths 24 using out-of-bandmodulators. Video or audio chat communications may be more efficientlytransmitted using one or more digital channels on path 24. Such digitalchannels may also be used for distributing text and graphics.

Dedicated digital or analog channels in communications paths 24 may beused for the transmission of real-time communications and chat requests.Such dedicated channels are separate from the channels used fortransmitting television program broadcast signals to the user televisionequipment.

Because communications paths 24 support transport of real-timecommunications and chat requests between user television equipment 20and television distribution facility 16, the arrangement of system 10eliminates the need for separate telephone lines connected to usertelevision equipment 20 to transmit real-time communications (althoughsuch telephone lines could be used with certain aspects of the inventionif desired). If desired, television programming may be transmitted touser television equipment 20 along one communications path such as acable link to a cable headend, while real-time communications aretransmitted between user television 20 along a second communicationspath such as a satellite link.

Each television distribution facility 16 may distribute real-timecommunications and chat requests at least between the user televisionequipment devices that are associated with that facility. A televisiondistribution facility may establish a forum for real-time communicationscalled television chat groups using chat equipment 22 such as a chatserver. A television chat group (sometimes referred to herein as simplya chat group) is an electronic forum in which a group of users areengaged in a real-time discussion through their user televisionequipment. Real-time communications such as chat messages are sent backand forth between the participants of the chat group.

Television distribution facility 16 preferably has a server or othersuitable computing equipment or audio or video equipment (hereincollectively referred to as chat equipment 22) for supporting real-timecommunications and the transmission of chat requests between users. Forclarity, certain aspects of the invention are simply described as beingimplemented using a chat server. If desired, however, these features mayalso typically be implemented using chat equipment such as equipmentbased on audio and video conferencing equipment (i.e., audio bridges,video bridges and the like or using chat equipment based on othersuitable computing equipment or a combination thereof. The chatequipment 22 (e.g., a chat server) is capable of handling real-timecommunications and chat requests involving text, graphics, video, oraudio data. If desired, the bandwidth requirements of chat equipment 22may be reduced by restricting communications to text and audio or onlytext, rather than including video. Chat equipment 22 in televisiondistribution facility 16 may be configured in a client-serverarrangement in which each piece of user television equipment 20 acts asa client processor.

Each user has a receiver, which is typically a set-top box such asset-top box 26, but which may also be other suitable televisionequipment into which circuitry similar to set-top box circuitry has beenintegrated. For example, user television equipment 20 may be based on anadvanced television receiver such as a high-definition television (HDTV)receiver or other such television-based platform. A set-top box mayinclude a DOCSIS modem for use in two-way communication to and from aserver or television distribution facility. As defined herein, usertelevision equipment 20 does not include equipment based on personalcomputers. For clarity, the present invention will be describedprimarily in the context of user television equipment 20 that is basedon set-top boxes 26. As shown in FIG. 1A, each set-top box 26 may havememory 25. Memory 25 may be used, for example, for maintaining adatabase of program listings data.

Program guide information may be distributed to set-top boxes 26continuously (in real-time), periodically, on request (using aclient-server arrangement), or using a combination of these techniques.Real-time communications and chat requests may be distributed to set-topboxes 26 in real-time. Television distribution facility 16 may alsoreceive real-time communications or chat requests from set-top boxes 26in real-time or periodically. Main facility 12 preferably contains aprocessor to handle information distribution tasks. Each set-top box 26preferably contains a processor to handle tasks associated withimplementing an interactive television program guide applicationcontaining chat features (hereinafter sometimes referred to as a programguide) or an independent chat application on the set-top box 26.Television distribution facility 16 preferably contains one or moreprocessors (e.g., in chat equipment 22) for tasks associated with thedistribution of real-time communications and chat requests and for tasksassociated with providing program guide data to the program guide on theset-top boxes.

It should be understood that some or all of the functions of the programguide or the chat set-top box application hereinafter described may beintegrated into an operating system on the set-top box, implemented as astand-alone application on the set-top box, or performed by chatequipment (e.g. a server, video bridge or audio bridge) operating at thetelevision distribution facility or separate from the televisiondistribution facility. In a client server architecture, the set-top boxsends data or requests to the server for processing. The server canstore data and send the results of a request back to the set-top box forfurther processing, display, or storage. Any of the functionality of theset-top box application hereinafter described may be implemented onclient-server architecture.

Various mechanisms may be used for launching a chat application from aprogram guide application on the user's set-top box. One mechanisminvolves using a hot link to launch the chat application. Hot linkinginvolves invoking a non-program-guide application such as a chatapplication with information such as a web site address, e-mail address,program title, chat group, or other information that has beenpreselected based on the current content of the program guide or statusof set-top box 26. For example, if the user is watching a program,viewing a program listing, viewing the description of a program, ortaking other action within the program guide related to a given program,channel, type of channel, or the like and the user directs the programguide to launch a non-program-guide application, the program guide maylaunch that non-program-guide application and direct thatnon-program-guide to take an action related to the given program,channel, type of channel, or the like.

Hot links may be activated by dedicated buttons, a launch button, menuoptions, or any other suitable technique. For example, a remote controlmay be provided with a dedicated chat button, and similar buttonsassociated with other non-program-guide applications. When the userpresses the chat button, the program guide launches the chat applicationand directs the chat application to set up a chat group with other usersor a character in the program, or join the user to an existing chatgroup. Further features of an illustrative hot linking system aredescribed in Ellis et al. U.S. patent application Ser. No. 09/346,134,filed concurrently herewith (Attorney Docket No. UV-85), which is herebyincorporated by reference herein in its entirety.

Each set-top box 26 is typically connected to an optional videocassetterecorder (VCR) 28 or other storage device in the home or at a remotelocation so that selected television programs and/or chat sessions maybe recorded. When a user indicates to the set-top box application torecord a TV program which has one or more associated chat sessions, theapplication may record the chat session along with the audio and videofor the program. When the user plays back the program, the chat sessionmay be accessible to view, although not to actively participate in. Thechat system may be configured to play back the chat session in a formatselected by the user. For example, the chat session may be played backas an overlay on top of the program, or the program and the chat sessionmay be displayed concurrently in reduced size windows on the TV screen.Also, a user may be able to indicate to the set-top box application atany time to record a chat session by itself, without recording theprogram. That chat session may be stored (whether text, audio, video, ora combination), and viewed at a later time. Programs and chat sessionsmay also be recorded, for example, on a DVD device, a hard disk in theset-top box, or on a remote server.

Each videocassette recorder 28 (or set-top box 26) is connected to atelevision 30. Further features of a program recording system aredescribed in Ellis et al. U.S. patent application Ser. No. 09/332,244filed Jun. 11, 1999, and Hassell et al. U.S. patent application Ser. No.09/157,256 filed Jun. 17, 1998, which are hereby incorporated byreference herein in their entirety. To record a program, set-top box 26tunes to a particular channel and sends control signals to videocassetterecorder 28 (e.g., using an infrared transmitter) that directvideocassette recorder 28 to start and stop recording at the appropriatetimes.

During the use of the television chat systems, set-top box 26 displaysreal-time communications and chat requests on television 30. If thetelevision chat system includes an interactive television program guide,the interactive television program guide may display program listings ontelevision 30. The program guide may also be used to display thereal-time communications and chat requests. Each set-top box 26,videocassette recorder 28, and television 30 may be controlled by one ormore user interfaces 32 which may involve a remote control, mouse,trackball, microphone, digital video camera, dedicated set of buttons,etc.

As shown in FIG. 1B, user interface 32 may contain a wireless keyboard34 that sends signals 36 (e.g. infrared signals) to set-top box 38,which is connected to television 40. The user's input may be displayedas part of a display screen on television 40 as the input is enteredthrough wireless keyboard 34. If television chat system 10 is based onan interactive television program guide, the display screen provided ontelevision 40 by set-top box 38 may be on an interactive televisionprogram guide display screen containing, for example, program listings.

User interface 32 may also be based on a television screen keyboard 50as illustrated in FIG. 1C. The user can select letters from thedisplayed alphabet to compose a message 52. In particular, the user mayselect letters from alphabet keys 54 and spaces from space bar 56. Theuser may select a letter so that it becomes highlighted (such as letterL 58) by pressing arrow keys and an enter (or OK or Select) key on aremote control. Pressing the enter key on the remote control directs theprogram guide containing chat features or the independent chatapplication to place the selected letter adjacent to cursor 62. The usermay select SHIFT option 51 to place a capital letter in message 52. Inthis way, a user can compose the text of a chat message.

If desired, the user may compose messages by selecting from a list ofstandard messages 70 or words 72 displayed in a display screen such asdisplay screen 75, as shown in FIG. 1D. A word or message can beselected by pressing arrow keys on a remote control to place highlightregion 76 on top of a particular word or message such as message 2 inFIG. 1D. The user can then select the highlighted word or message bypressing a remote control enter (or select or OK) key.

System 10 allows users at user television equipment 20 to engage intelevision program-related real-time chat communications while watchingtelevision, without the expense and complexity of learning to operate apersonal computer and the software that is associated with it. Inaddition, System 10 allows users to retain the high video quality andchannel range of television viewing while participating in real-timechat discussions with similarly situated users.

As shown in FIG. 2A, real-time communications and chat requests can bedistributed along communication paths 24 from one user televisionequipment device 20 associated with a given television distributionfacility 16 to another user television equipment device 20 associatedwith that facility using a chat server located at the facility. Forexample, the real-time communications and chat requests sent between twoor more user television equipment 20 devices associated with televisiondistribution facility 16 of FIG. 2A may be handled by chat server 90 intelevision distribution facility 16. An advantage to limiting operationof the chat system to individual television distribution facilities isthat it allows individual cable system operators (for example) tocontrol their systems and it does not involve coordinating chats betweenareas or different time zones. If desired, however, real-timecommunications and chat requests exchanged by user television equipment20 can be handled by a chat server 88 that is connected to televisiondistribution facility 16 via communications network 86. Communicationsnetwork 86 may be any suitable communications network such as theInternet, a public or private telephone network, a network involvingsatellite or wireless links, cable network, etc.

The chat system may also be configured so that users at one or more usertelevision equipment devices 84 may participate in a real-timediscussion or exchange chat requests with one or more of user televisionequipment 20. User television equipment 84 is thus associated with adifferent television distribution facility than user televisionequipment 20. User television equipment devices 84 are connected totelevision distribution facility 80 via communications paths 82. Chatserver 92 is used to handle real-time communications and chat requestsfor user television equipment devices 84. The configuration of server 92and user television equipment 84 may be based on a client-serverarrangement. Television distribution facilities 80 and 16 are connectedto each other via communications network 86. Real-time communicationsand chat requests sent between user television equipment 20 and usertelevision equipment 84 may be handled by chat servers 88, 90, or 92. Ifdesired, numerous television distribution facilities may be connectedtogether via communications network 86 or other such communicationsnetworks to allow user television equipment from these televisiondistribution facilities to engage in real-time communications with eachother.

Real-time communications and chat requests may be handled on a serverthat is not located at the television distribution facility as shown inFIG. 28. For example, real-time communications and chat requests may betransmitted between user television equipment devices 97 and 98 vianeighborhood nodes 95 and 96. User television equipment device 97 areconnected to neighborhood node 95 via communications path 99, and usertelevision equipment devices 98 are connected to neighborhood node 96via communications path 101. Neighborhood nodes 95 and 96 decrease thebandwidth requirements on communications paths 103 for a given number ofuser television equipment devices 97 and 98. Neighborhood nodes 95 and96 route television programming from television distribution facility 93to user television equipment 97 and 98. Neighborhood nodes 95 and 96also route chat requests, real-time communications, chat groupinformation, etc. between server 91 and user television equipment 97 and98. Neighborhood nodes 95 and 96 may also route requests to perform manyof the chat system functions described herein from user televisionequipment 97 and 98 to server 91. Responses from server 91 are routedback to the appropriate user television equipment device via aneighborhood node.

As shown in FIG. 3, a television channel chat facility 100 that isassociated with a particular television channel may contain a chatserver 102 to handle real-time communications and chat requests sentbetween user television equipment 106, 108, and other such usertelevision equipment. User television equipment devices 106 and 108 areconnected via communications paths 110 and 112 to televisiondistribution facilities 104 that are in turn connected to televisionchannel chat facility 100 via communications paths 114.

If desired, the user at a particular user television equipment devicemay enter profile data that will form the identity of a particularindividual. The individual may be the user himself or another member ofhis household. FIG. 4 illustrates an example of a display screen 120that may be provided by the interactive television program guide withchat features or the separate chat application to provide the user withan opportunity to enter profile data information about a particularindividual within the household. The user profile data may include theuser's name, which may be entered in box 121. The user profile data mayalso include the user's favorite program, which may be entered in box122 (either directly or by selecting from a menu or other suitable listof programs). The user's favorite programs associated with that user'sprofile may be the same favorite television programs that are saved inthe program guide database, or a subset thereof. If desired, the userprofile favorite programs may be different from the favorite televisionprograms in the program guide database. The user may also select option124 to enter more favorite programs (e.g. by providing more boxes 122).

The user profile screen 120 may also present the user with an option toenter a favorite television channel such as ABC-W in box 126. Televisionchannels include television networks such as ABC, local affiliates,local broadcast stations, pay-per-view channels, cable channels such asHBO and CNN, etc. The user can select option 130, so that additionalfavorite channels may appear on user profile screen 120. The userprofile screen may also present the user with an option to enterfavorite categories of programs such as sports programs, movies, newssegments, sitcoms, etc. The user has entered “movies” as a favoritecategory in box 132 of FIG. 4. The user can select option 136 so thatadditional categories may be entered on user profile screen 120. Ifdesired, the program guide (or the stand-alone chat application) maypresent the user with an optional unique user identification code(displayed in box 138), to help the system distinguish the user fromother user's at the same user television equipment device when receivinga real-time communication or chat request from the outside. In this wayreal-time communications and chat requests can be directed to specificusers. The user may also enter a nickname for himself in box 133. Anickname may used for anonymity in a chat group or as a creativepseudonym related to the chat topic. Alternatively, screen 120 mayprovide the user with an opportunity to enter a icon that identifies theuser in the chat room rather than a nickname.

The user may select DONE option 140 when he has finished entering hisprofile data or may press a remote control key (e.g., the EXIT key).Once a user has entered profile data, the data is stored for laterretrieval. User profile data may be stored in the set-top box, at aserver as described above, or elsewhere in user television equipment 20such as a separate storage unit connected to the set-top box. Furtherfeatures of an illustrative system for entering user profile informationare described in Ellis et al. U.S. patent application Ser. No.09/034,934 filed Mar. 4, 1998, which is hereby incorporated by referenceherein in its entirety.

When the user is watching television, the program guide with chatfeatures or the stand-alone chat application (hereinafter collectivelyreferred to as the set-top box application) allows the user to identifyhimself or herself by selecting one of the user profile identities thatwere previously entered or by adding a new user profile identity.Display screen 150 in FIG. 5 is an illustrative display screen that maybe used to show all of the household members for whom user identitieshave been established using the set-top box application.

The set-top box application may provide a display screen such as displayscreen 150 of FIG. 5 whenever the user turns on the set-top box 26 orwhenever the user has indicated a desire to identify himself or herself.For example, if Mom is watching television, she will select box 152. Theset-top box will then access Mom's profile data. If desired, useridentities may be placed under password control. If a new member of thehousehold is watching television, that user may click on box 154 to adda new user profile identity. The set-top box application will thenprovide display screen 120 (FIG. 4), so that the user can enter hisprofile data. If the user does not wish to identify himself or does notwish to enter a new user profile, the user can select cancel option 156to cancel the display of display screen 150. If the set-top boxapplication includes a program guide, the user profiles may be used forboth chat-related functions and program guide functions.

The program guide may also present the user with the option of enteringidentity data that relates to users of other user television equipment.Users of other user television equipment may be recipients of real-timecommunications or chat requests sent by a household user. Theserecipients of real-time communications or chat requests are referred toas non-household users. Non-household users may send real-timecommunications and chat requests that are received by a household user.

FIG. 6 illustrates a display screen 160 that the set-top box applicationmay present on a user's television when the user indicates a desire toenter identity data relating to a non-household user. The non-householduser's name may be entered in box 162 and the non-household user'saddress may be entered in box 164. A user's address is a uniqueidentifier assigned to a particular user which allows a chat server totransmit real-time communications and chat requests to the properrecipient.

A household user may enter a non-household user's favorite programs,channels, and categories of programs in television display screen 160. Ahousehold user may determine a non-household user's preferences bychatting with that person in a chat group. The non-household user'sfavorite programs may be entered in box 166, and additional empty boxesfor entering more favorite programs will be displayed on televisiondisplay screen 160 if the user selects more option 168. Thenon-household user's favorite channels may be entered in box 170 such aschannel 2. The user can select option 174 so that additional channelsmay be entered on the television display screen 160. The non-householduser's favorite categories of programs such as sports programs, movies,news segments, sitcoms, etc. may also be entered in television displayscreen 160. The user can enter a favorite category of programs such assports in box 172. The user can select more option 176 so thatadditional categories of programs may be entered. The non-household userpreference information entered in display screen 160 may be useful forsending chat requests to other users who may be interested in chattingabout the same programs, channels, or categories of programs as thehousehold user.

The user may also enter user information not related to televisionprogramming such as a non-household user's birth date, city and state ofresidence, favorite actor, favorite hobbies, etc. In screen 160, theuser may enter the non-household user's birth date in regions 161, 163,and 165. The user can select option 178 to indicate that thenon-household user's information is to be added to a currently existingor new subgroup of identities. The subgroup of identities will appear asa group of identities on an address book screen (such as Members ofHiking Club in display screen 180 of FIG. 7). If desired, the set-topbox application may automatically group individuals together as groupsin the address book based upon their viewing preferences. The user mayselect Done option 179 when he has finished entering the non-householduser's information. The non-household user's data may be stored in theset-top box, at a server, or elsewhere in user television equipment 20such as a separate storage unit connected to the set-top box.Furthermore, it should be understood that a chat system user profilesuch as the ones described above could incorporate information from ahousehold and a non-household user into one identity (e.g. ahusband-wife couple).

In addition, the chat system may be configured similar to the ICQ systemso that a user may make his profile information public so that it can beaccessed by other users. ICQ is an Internet tool that informs Internetuser's who is on-line at any time and enables users to contact them atwill. ICQ can search for an individuals on-line and alert a user whenthey log on. ICQ allows a user to chat, send messages, files, URL's,play games, or just hang out with fellow Internet users while surfingthe Internet.

A user may fill out a questionnaire through the chat system whichincludes information regarding the user's television program preferencesas well as additional non-television related information about himselfsuch as his hobbies (e.g. using display screen 120). The user profileinformation may be useful for forming chat groups between users. Theuser profile information may be stored at a remote server or jointly onthe set-top boxes. A user may access profiles which have been madepublic and form a “buddy list” or address book of other users who havethe same interests. The buddy list can include a user's identity, TVpreferences, and other interests.

The chat system may be set up so that a user must obtain permission froma second user before he is able to add the second user to his buddylist. For example, the chat system may send the second user a messageindicating the first user has requested the second user's profileinformation. If the second user accepts the request, the chat systemallows the first user to add the second user to his buddy list so thathe can have access to the second user's profile information and caninitiate chat sessions with that user. In addition, the chat system mayask the second user if he wishes to add the first user to his buddylist. A user may add further information to the profile based on hisknowledge of the other user's preferences (e.g. through display screen160). The chat system may also allow users to search for chat buddiesbased on a user ID number, an e-mail address, TV program preferences,and/or other preferences.

The identities of non-household users whose names, addresses, and othercorresponding information have been entered may be displayed by theset-top box application in an address book format on the user'stelevision screen. An example of an address book display screen 180 isshown in FIG. 7. Address book display screen 180 displays a list ofidentities 182 of non-household users or subgroups of non-householdusers. The non-household users can be individuals such as Mary Smith, orgroups of individuals such as the Jones Family as illustrated by thenames in the list 182. An individual user may be part of more than onegroup in the address book. For example, Mary Smith may appear in theaddress book as an individual, and be a member of the groups “SeinfeldFan Club” and “Movie Lovers.”

The user may send a chat request by selecting an identity or identitiesin the list. The list may contain groups of individuals who areinterested in a particular program, type of program, chat group, or anyother group identified by the user such as “Jones Family,” “Members ofHiking Club,” “Seinfeld Fan Club,” “Movie Lovers,” or “Dallas CowboysChat.” The groups need not be TV-related. If desired, the set-top boxapplication may present a pop-up option on the television screen to senda chat request to the individuals in a list in the address book when theuser is watching a related television program (e.g. Seinfeld).

Option 184 is highlighted to indicate that the user has chosen FriendsWho Watch the News at 6. This may be a group of the user's friends whoenjoy watching the program “News at 6” and who may wish to engage in achat group with the user. The user may choose as many recipients of thechat request as he desires by selecting names from the list. The usermay choose to enter additional identities of non-household users byselecting option 186, which will take the user to television displayscreen 160 of FIG. 6. When the user has selected the recipients of thechat request, the user may select DONE option 188. The set-top boxapplication will then retrieve the address for each recipient of thechat request and deliver the chat request to each of the recipients. Theuser may select cancel option 189 to exit from address book displayscreen 180.

An illustrative process for creating the identities for household usersand non-household users that have been discussed with respect to FIGS.4, 5, 6 and 7 is shown in FIG. 8. At step 190, the set-top boxapplication (i.e., the program guide with chat functions or thestand-alone chat application) provides the user with an opportunity toenter identity data with respect to a household user or a non-householduser by displaying, for example, television user interface screens 120or 160 respectively. The user then enters the data that is called for bythe television user interface screen. Once the user has finished, theset-top box application will create an identity data structure at step192 that contains the information that was entered for that particularhousehold user or non-household user. The set-top box application willthen append the data structure to the appropriate group at step 194. Thegroup to which the data structure is appended may be a group of users ofthe household, the address book of non-household users, or a subgroup ofnon-household users within the address book. Steps 190, 192, and 194 ofFIG. 8 may be performed by the set-top box application implemented onthe user television equipment, but may also be at least partiallyimplemented by a chat server using client-server architecture. Forexample, the data entered into screens 120 and 160 may be sent by theset-top box to the server for processing.

A user may use the set-top box application to send and receive real-timecommunications to and from other users within a forum called a chatgroup. All of the users who are participants of the chat group can sendand receive real-time communications from all of the other participants.The real-time communications in the chat group may be messages or othercommunications that are text, audio, video, or HTML. A user may enter aURL for a web page, for example, as part of a chat message in a chatgroup using HTML so that other users in the chat group can link to thatweb page easily. Text has the advantage of low bandwidth requirements.Audio may be desirable for users who like the immediacy of voicecommunications, but may not be desirable for users who prefer theanonymity of text. Video is similar to audio in this respect. The choiceof whether to support text, audio, or video in a particular chat systemdepends on a variety of factors such as these. In addition, a chat groupmay be set up as a mixed media chat so that it accepts text, audio,video, and HTML input from different users. For example, a chat groupwith three users may have one user inputting audio communications,another inputting textual and HTML communications, and another inputtingvideo communications. The real-time communications in a mixed media chatmay be received in the form that they are sent or converted into anotherform (e.g. text converted to audio for a blind person). Aspects of thepresent invention are applicable to all of these configurations,although for clarity, the invention is described primarily in connectionwith text-based chats.

Real-time communications are transmitted over the communications pathsshown and described in connection with FIGS. 2A, 2B, and 3. A chat groupin which written real-time messages are typed in by participants andtransmitted in the form of text messages to all of the otherparticipants of the chat group is called a chat room.

FIG. 9 is an example of how real-time communications may be displayed bythe set-top box application in the form of textual messages in a chatroom. Television program 202 may be displayed in region 203 of displayscreen 200, while a chat room region 206 may be displayed simultaneouslyin the lower portion of display screen 200. Advertisement 201 may alsobe simultaneously displayed in region 205 of display screen 200.Advertisements may accompany any of the display screens or userinterface screens of the present invention. This arrangement is merelyillustrative. Any suitable arrangement may be used to display chatmessages and television programming simultaneously. For example, chatroom region 206 may be displayed as an opaque or translucent overlay oftelevision program 202. Participants in the chat room send chat messageswhich appear in region 206. A chat participant may send an HTML chatmessage such as a URL for a web site.

In display screen 200, the chat topic 204 may be related to thetelevision program 202 as can be seen by the content of messages 208 and210. The user can enter messages using keyboard 34 (FIG. 1B) before theyare displayed in the chat room at cursor 212. The user's chat messagemay be sent to the chat server when the user hits a Send button or othersuitable buttons on a remote control or keyboard. If desired, the chatsystem may be configured such that characters are sent to the otherparticipants in the chat group one by one as the user types them in.With this functionality, mistakes the user makes may be seen by theother users in the chat group. If desired, the set-top box applicationmay permit the user to send real-time communications to a chat roomusing an interactive television display screen such as keyboard screen50 (FIG. 1C) or display screen 75 (FIG. 1D).

The chat system may be configured so that a user can append another userin a chat group to his buddy list or address book by selecting thatuser's nickname (or icon) in the chat group. For example, the set-topbox application may recognize a command such as “add Sally” asindicating that the user wishes to add Sally to his buddy list. The chatsystem may require the first user to get permission from the second userbefore the first user can add the second user to his buddy list.

In addition, the chat system may be configured to allow a user to blockchat messages from specific users in a chat group that he does not wantto communicate with. For example, the set-top box application mayrecognize a command from the user typed adjacent to cursor 212 such as“block Joe” as indicating that the user wishes to block out Joe's chatmessages from now on. The user can type in a command such as “unblockJoe” to start receiving Joe's chat messages again. Other protectionfeatures may be built into the chat system to protect children fromobscenity. For example, the chat system may be configured to block outcertain vulgar words in chat groups. As another example, parents may bepermitted to block out certain offensive chat groups so that theirchildren cannot enter them.

The divided nature of screen 200 allows users to simultaneously watch atelevision program and send real-time communications to other users whoare viewing the same program at the same time. In this way, chat room206 is directly linked to the on-going actions in program 202 in that auser can send and receive comments about the content of the program asit unfolds on his television screen. A chat room may terminate at theend of the program or may continue beyond the end of the program untilall of the users have exited the chat room.

Real-time communications can be stored on a chat server (e.g. located ata television distribution facility). The communications pathsillustrated in FIGS. 2A, 28, and 3 may be used to route real-timecommunications to user television equipment connected to differenttelevision distribution facilities. The real-time communication systemof the present invention therefore allows real-time communications to betransmitted between users of user television equipment that areconnected via numerous television distribution facilities such as thenetwork in FIG. 2A.

If desired, a simpler system configuration may be used in which all chatparticipants are linked to a common chat server and a single associatedtelevision distribution facility. While this arrangement is more limitedthan the more interconnected arrangements involving multiple televisiondistribution facilities, it has the advantage of being easier toimplement because there is only a single time zone and potentialparticipants all have access to the same programming. A chat groupmaintained by a chat server associated with a particular televisiondistribution facility may also be restricted to users connected to thatparticular television distribution facility in order to limit the sizeof the chat group. If desired, a chat group can be limited to thosetelevision distribution facilities that broadcast to users in aparticular time zone to ensure that all of the users who participate inthe chat group can watch the television program that is the topic of thechat group at the same time. In addition, a chat group may be limited totelevision distribution facilities that broadcast only to users in aparticular local area. This may be desirable, for example, if thesubject of the chat group is a local news segment or a local televisionchannel.

In another possible configuration, a chat session may be recorded whilea TV program is broadcast in one time zone and played back while theprogram is broadcast at a later time in another time zone. This allowsusers in the later time zone to see comments previously entered by theusers in the other time zone while comments from users in the currenttime zone are entered. Chat messages from the second time zone may berecorded also and played back in a third time zone at a later time alongwith the chat messages from the first time zone. However, users may notcommunicate in real time with users from other time zones using thissystem unless the program is broadcasted at the same time in multipletime zones, or users participate in the chat group before and/or afterthe program broadcasts in their area.

Another aspect of the present invention relates to using the set-top boxapplication to support real-time audio communications. Real-time audiocommunications can be linked to a particular television program. Forexample, a television talk show may have a live question and answersession with various users who are watching the talk show. Users can begiven the opportunity to join an audio chat group. A select group ofusers can then be joined in the audio chat group. Participants of theaudio chat group will be given the opportunity to ask questions or tovoice comments about various issues discussed during the talk show.Participants of the audio chat may also be permitted to send inquestions in the form of text and receive responses in the form of textas in a chat room. Certain questions from the user participants of thechat may be discussed live on the TV program. Participants of the audiochat may also send in live video images (e.g. of themselves) as in videochat, which is discussed further below). A video image of a userparticipant may be played live on the TV program while that user'squestion or comment is being discussed on the TV program.

FIG. 10 illustrates an example of an audio chat system in whichreal-time audio communications may be transmitted between different usertelevision equipment devices 226 via television distribution facility220. User television equipment devices 226 are connected to televisiondistribution facility 220 via communications paths 224. Real-time audiocommunications are transmitted over communications paths 224 andprocessed by chat server 222 or suitable audio conferencing equipment.Chat server 222 may be located at television distribution facility 220as shown in FIG. 10 or it may be separate from TDF 220. The audio chatsystem may be configured to cancel out audio from the current TV programin the send user's audio chat messages so that the recipient user doesnot hear the TV program audio along with the sender's audio messages.This procedure may be performed at the microphone end using signalsubtraction whereby the microphone input is compared with the TV programaudio and only the user's input is passed to the chat server.

Real-time audio communications may also be transmitted between usertelevision equipment devices connected to different televisiondistribution facilities using communications networks such as the onesshown in FIGS. 2A, 2B, and 3. Real-time audio communications may betransmitted from user television equipment devices 226 to a televisionchannel chat facility along a communications network such as the oneshown in FIG. 3, so that an audio chat facilitator (moderator) ortelevision personality can participate in the chat group. Thefacilitator can determine who in the chat group may speak at a givenpoint in time. A text-based or video chat may also have a facilitator,although this is less desirable for a text-based chat group with a smallnumber of participants. If desired, a chat group may be configured suchthat the participants are only allowed to send a chat message when it isthat person's turn. The determination of who is allowed to send a chatmessage at any given time may be determined automatically.

The television distribution facility may provide telephone service overthe same communication lines that provides television service. This typeof television distribution facility is called a central office (CO) fora telephone system. Audio chat may be set up using the telephonefacilities of that system. This would take advantage of the telephoneinfrastructure that many cable systems build over a broad band cablenetwork. The television channels and phone service can be transmittedalong the same cable line, although the information in each path wouldbe logically separable.

Each user television equipment device 226 in FIG. 10 contains a set-topbox 228 that receives real-time audio communications from chat server222 and a television 230 for viewing programs. Real-time audiocommunications can be sent by a user by speaking into microphone 232.The user's voice is converted into a signal that may be received byset-top box 228. Set-top box 228 transmits the user's voice signal tochat server 222. Chat server 222 or other suitable equipment such as anaudio bridge (i.e., audio conferencing equipment) distributes the user'svoice signal to other users who are participants of the same audio chatgroup. Real-time communications may then be heard by a user on speaker234 which is connected to television 230 or set-top box 228 or is a partof television 230.

The real-time audio communications system of the present inventionallows users who are watching a particular television program to talk toeach other while watching the program. It also may allow users to talkwith a chat facilitator located at a television channel chat facility ora television distribution facility. It also may allow users to talk witha television show personality while the personality is appearing on thetelevision program. In these later two instances, audio chatcommunications would involve connecting the user to the televisionchannel chat facility or distribution facility where the chatfacilitator or television show personality is located alongcommunications paths such as the ones shown in FIGS. 2A, 2B, and 3.

Video chat images can also be transmitted as real-time communications bythe chat system if desired. The video chat images may include audio ormay be silent (e.g., if the participants use sign language or bodylanguage or if there is accompanying chat text). Video may also includeaccompanying textual communications. FIG. 11 illustrates an example ofhow live video images of various users in a chat group can be displayedon display screen 240 in display regions 241-245. The video chat topicmay be shown in display region 246. This feature of the presentinvention allows users to see images of other users that they arespeaking to in the chat group. If desired, the user may view videoimages of participants in multiple chat groups. For example, displayregions 241, 242 and 243 may contain video images of the participants ofone chat group while display regions 244 and 245 may contain videoimages of the participants of another chat group. The set-top boxapplication may provide the user with an opportunity to select whichchat group he wishes to receive communications from. This allows theuser to watch video images from more than one chat group while listeningto a television program or the real-time audio communications of one ofthe chat groups as the user desires.

Participants in a video chat may communicate with each other inreal-time through visual images and signals. For example, users have theadvantage of being able to see the reactions of others users to commentsmade during a chat by observing their facial expressions and bodylanguage. A video image of a chat facilitator or a television showpersonality may be provided in one of display regions 241-245. Ifdesired, a television program may be displayed in one of display regions241-245. With this type of arrangement, the chat group topic may berelated to the action in the television program or an issue discussed inthe television program.

FIG. 12 is an example of user television equipment 250 for implementingthe video images feature of the present invention. Signals containingvideo images from other users participating in a chat group may bereceived by set-top box 252 from chat equipment (e.g. a video bridge).The set-top box application displays the images on television 254. Thesignals may contain audio communications. Each user's image may beobtained using a video camera such as video camera 256 connected toset-top box 252. The set-top box application may transmit the signalcontaining the user's image to chat equipment associated with the usertelevision equipment for redistribution to other participants of thechat group via communications networks such as the ones shown in FIGS.2A, 2B, and 3.

A user may obtain and transmit video images of any person or object fortransmission to the other participants in a chat group. A user maycommunicate through video images. For example, a user can displaywritten messages in front of video camera 256 that may be read by otherusers on their television screens. A single chat group could be audio,video, text, HTML, or other any other means of communication.

The chat equipment coordinating the video or audio chat may implementthe transmittal of messages between users using one of the currentlyavailable technologies for handling video or audio conferencing. Forexample, a chat system may be implemented by a chat server tocontinuously route the real-time communications from the participants ina chat group to the other participants in the chat group. If desired,the originator of a message such as a text message may be presented withall the messages from every participant in the chat group, including hisown message. With respect to audio chat, there is generally no need toredistribute a message back to its originator because a user does notwant to listen to his own voice repeated back to him. Therefore, anaudio chat system may ensure that the sender of a real-timecommunication does not receive his own communication. In video chat, thechat system may be configured, for example, to only display on thetelevision screen the image of the person who is currently speaking.

The chat system can join a user to a chat group when the user hasindicated a desire to join a particular chat group. The user's desirescan be determined, for example, through a display screen provided by theset-top box application such as display screen 270 of FIG. 13.Television program 271 is overlaid by interface region 274 so that onlyupper portion 272 of program 271 is visible. User interface region 274provides the user with an opportunity to indicate a desire to join achat group by selecting YES option 276. User interface screen 274 alsoallows the user to not join a chat group by selecting NO option 278. IfNO option 278 is selected, user interface screen 274 disappears. Userinterface screen 274 can be displayed automatically by the set-top boxapplication whenever a chat group related to the television program thatthe user is viewing is available or becomes available, or could bedisplayed based on a reminder set earlier by the user. Advertisement 275may also be displayed in interface screen 274. If desired, userinterface screen 274 can be displayed when the user selects a chatoption from a program guide display screen or presses a dedicated chatbutton on a remote control or uses any other user interface to indicatea desire to join a chat. Alternatively, this screen could be skipped andthe user could proceed directly to the chat group if the user hasselected a chat option. The chat group may continue beyond the end ofprogram 271.

Referring now to FIG. 14, the set-top box application may provide theuser with an opportunity to join one or more chat groups of the user'schoice. The chat groups options that are provided to the user by theset-top box application may be chat groups that are related to aparticular television program or channel that the user is tuned to whenthe chat group options are initially displayed.

Information regarding real-time communications such as listings of chatgroups that are available for a particular television program or channelmay be provided to the set-top box application using any suitable datadistribution technique. For example, information on scheduled chatgroups may be obtained on-demand by the set-top box from a server orwith the program guide listings from the main facility. If desired,information on available chat groups may be encoded digitally in-bandwith the television program signal on a digital channel. The chatinformation may be decoded by a digital set-top box along with the TVprogram signal. As another example, information on which chat groups aresupported may be maintained at a television distribution facility anddistributed to set-top box applications over the vertical blankinginterval (VBI) of a standard analog television signal. A VBI decoderlocated in the set-top box may be used to decode data contained in theVBI of the received television signal.

The decoded data may then be used by the set-top box application todetermine whether there are any chat groups available for a program orchannel based on the received data. If desired, information regardingreal-time communications such as available chat groups may be providedusing an out-of-band data path. Such information may also be provided asa digital data stream that accompanies other streams of digital data(such as digital data for various television programs).

Display screen 280 is an example of an options screen that the set-topbox application may display to provide the user with an opportunity tojoin various chat groups related to a program or channel that is beingviewed. If the user is watching the soap opera Days of Our Lives onchannel 3, the user may be given an opportunity to join a Soap OperaChat Group by selecting option 282, the Channel 3 Chat Group byselecting option 284, or the Days of Our Lives Chat Group by selectingoption 288. The user may join multiple chat groups. Multiple chat groupsmay be selected with a remote control or wireless keyboard. The chatsystem may join the user to all of the selected chat groups. The usermay also be provided with an opportunity to create a new chat group byselecting option 286. The user may search for more chat groups byselecting option 290. The user may set a reminder for himself toparticipate in a scheduled chat group by selecting option 281. If option281 is chosen, the chat system may set a reminder for a previouslyselected chat group, or provide the user with a list of chat groups tochoose from. If the user does not wish to join a chat group, the usermay select exit option 292, which directs the set-top box to exitdisplay screen 280.

Another example of a way in which the user may be presented with anopportunity to join various chat groups that are related to a particulartelevision program is shown in FIG. 15A. A reduced-size version of atelevision program such as the 6 o'clock News is displayed in portion310 of display screen 300 simultaneously with a user interface region312 in the lower portion of display screen 300. Also, advertisement 311may be displayed in screen 300 along with user interface 312. Userinterface region 312 may allow the user to join chat groups relating tothe news segments reported on the 6 o'clock News. The user can join anyone or more of chat groups (1), (2), (3) and (4) (corresponding tooptions 302, 304, 306, and 308 respectively) by pressing the appropriatenumber on his remote control. If the user does not wish to enter a chatgroup, he can press (5) (corresponding to Exit option 314) to exitdisplay screen 300 and return to a program guide menu or a full displayscreen of the 6 O'clock News. Display screen 300 may be displayed by theset-top box application at the user's request or automatically at anappropriate time during the television program. The chat groups maycontinue beyond the end of the program to allow the participants todiscuss follow up issues. The chat group terminates when all of theparticipants have exited.

Television display screen 500 of FIG. 15B is a interactive televisionprogram guide display screen which provides a user with an opportunityto view a schedule of upcoming chat groups related to TV programs listedin the program guide. The user can scroll to the appropriate time slot506 by manipulating arrows options 508. The TV programs are displayed incolumn 502 and the corresponding chat groups are displayed in column504. A user may select a chat group by placing highlight region 509 on achat group. The user may then set a reminder to participate in the chatselected group by selecting option 505. The user may join the selectedchat group by selecting option 503. The user may also record a chatsession of the selected chat group by selecting option 501. The user mayview additional programs and chat groups by manipulating arrows 510.

Television display screen 295 of FIG. 16 illustrates how the set-top boxapplication may allow the user to participate in a plurality of chatgroups concurrently. A television program called News Program isdisplayed in upper left quadrant 315 of television display screen 295.The user can watch News Program and participate concurrently in threedifferent chat groups displayed in quadrants 316, 317, and 318. Textualreal-time communications from two chat rooms are displayed in upperright quadrant 316 and lower left quadrant 317. Each chat topic relatesto issues discussed on News Program. The topic of the chat room inquadrant 316 is Clinton's Impeachment. The topic of the chat room inquadrant 317 is Lewinsky's Testimony. The video image of a participantin a third video chat group is displayed in quadrant 318. Audio messagesto and from the participants of the video chat room can be sent andreceived as well. If multiple chat rooms joined by the user use audio,the set-top box application may allow the user to toggle between thevarious groups, so that the audio component of only one group at a timeis active.

Another example of a display screen that provides the user with anopportunity to enter a chat group that is related to a televisionprogram is shown in FIG. 17. The New Monica Lewinsky Segment 321 ondisplay screen 320 of FIG. 17 is overlaid by display 324 so that onlyupper portion 322 of program 322 is visible. When the new MonicaLewinsky segment 321 of the television program begins, the set-top boxapplication will automatically prompt the user to enter the MonicaLewinsky Chat Group by displaying the message shown in display 324. TheMonica Lewinsky Chat Group may be a chat group of users who are watchingthe television program and who wish to discuss issues relating to herthat are being presented on the program. The user can press the Chatbutton on his remote control to enter the Monica Lewinsky Chat Group, ormay press cancel on his remote control to return to normal televisionviewing by removing the message in display 324. The chat server may beconfigured to support the Monica Lewinsky Chat Group only during theduration of the news program or talk show. Alternatively, the chat groupmay continue beyond the end of the program so that the participants candiscuss follow up issues. The Monica Lewinsky Chat Group and any of theother illustrative chat groups discussed herein may be textual chatgroups, audio chat groups, video chat groups (silent or with audio), orcombinations of such chat groups.

An illustrative process for permitting a user of user televisionequipment to join a chat group is shown in FIG. 18A. At step 340, theset-top box application implemented on the user's television equipmentprovides the user with an opportunity to indicate a desire to join areal-time chat group. The opportunity may be provided automatically(e.g., at a particular time during the course of a television program)or in response to a prompt by the user (e.g., the user chooses anon-screen option or an option on a program guide menu that indicatesthat he wishes to view available chat groups). The real-time chat groupmay be in the form of written, audio, or video (with audio or silent)communications or a suitable combination of such communications.

The opportunity for the user to indicate a desire to join a chat groupmay be provided, for example, using display screens, such as displayscreens 270, 280, 300, 500, or 320 of FIG. 13, 14, 15A, 15B, or 17respectively, or any other such suitable display screens. The set-topbox application may also provide the user with an opportunity toindicate a desire to join a chat group by being able to respond to asignal from another type of user interface mechanism (e.g., a dedicatedchat button on a remote control).

The chat group that the user joins may be determined by the user or bythe program guide. The user may be provided with an opportunity toselect a chat group from a predetermined grouping or list of availablechat groups as described in connection with display screens 280, 300,500 of FIGS. 14, 15A, and 15B respectively. Option 290 of FIG. 14provides the user with an opportunity search for more chat groups and toselect a chat group based upon the results of the search. The user maybe provided with an opportunity to search for a chat group based on achat topic or by typing in the name of the chat group and otherinformation necessary to identify the chat group. If desired, the chatsystem may automatically determine which chat group the user shouldjoin. For example, display screen 320 of FIG. 17 may provide the userwith an opportunity to indicate a desire to join an available chat groupthat is related to the program being viewed. If desired, information onwhich chat group the user should join may be based, for example, on thenumber of current participants in a group, which may be limited (e.g.,to a maximum of 20 participants). Information on available chat groupsfor may be maintained by the television distribution facility or a chatserver. When a user directs a given set-top box application to join thatuser to a chat group, the set-top box notifies the server, which maythen join the user to the next available group. Information identifyingavailable chat groups may be provided to the set-top box applicationalong with the television program broadcast signal and decoded by theset-top box application on the user television equipment.

After the user has indicated a desire to join a chat group, the chatsystem will join the user to the chat group and support the chat groupby distributing real-time communications to the users in the chat groupat step 342. For example, the set-top box application may make aconnection to the chat equipment maintaining the real-timecommunications for the chat group, which then joins the user to the chatgroup. After the user has been joined to the chat group, the chat groupis supported by the chat equipment (e.g. the chat server), and the usercan send and receive real-time communications to and from otherparticipants of the chat group. Step 342 may be performed by chatequipment at the television distribution facility, at a televisionchannel chat facility, or separate chat equipment. If desired, equipmentsuch as an audio or video bridge at a television distribution facilityor other suitable location may be used in forming and supporting chatgroups.

Referring now to FIG. 18B, an illustrative process for permitting a userof user television equipment to join a chat group restricted to users atuser television equipment devices is shown. At step 344, the set-top boxapplication implemented on the user's television equipment provides theuser with an opportunity to indicate a desire to join a chat group. Thefeatures of this step are the same as the features described above withrespect to step 340 of FIG. 18A.

After the user has indicated a desire to join a chat group, the chatsystem will join the user to the chat group and support the chat groupby distributing real-time communications only between users in the chatgroup who are at user television equipment devices at step 346. Theset-top box application will indicate to the chat equipment to join theuser to the chat group. The chat equipment will then support the chatgroup by distributing the real-time communications. Entry into the chatgroup is restricted to users at user television equipment devices. Entrymay be restricted to users of user television equipment devicesconnected to one particular television distribution facility or users atuser television equipment devices connected to one of a limited numberof television distribution facilities.

The chat equipment may monitor requests to enter the chat group toensure that all of the participants in the chat group are at a usertelevision equipment device, as opposed to e.g. a personal computer. Forexample, the chat equipment could maintain entry codes with televisiondistribution facilities to restrict access to a chat group to only userstelevision equipment devices. Each television distribution facilitywould transmit the entry code along with a request from one of its usertelevision equipment devices to the chat equipment so that the user maybe joined to the chat group. Only requests to join the chat group thatpresent a valid entry code from a television distribution facility willbe recognized. If desired, access to a TV chat group may be restrictedto user television equipment devices by not making the chat groupavailable on the Internet.

Referring now to FIG. 18C, an illustrative process for permitting a userof user television equipment to join a chat group related to atelevision program that the user is watching is shown. At step 348, theset-top box application implemented on the user's television equipmentprovides the user who is watching a particular television program withan opportunity to join a chat group related to the program. Televisiondisplay screen 300 in FIG. 15A, and television display screen 320 inFIG. 17 are examples of how the set-top application can provide the userwith an opportunity to join a chat group related to a particulartelevision program while the user is watching the program. Theopportunity to join the chat group may be provided by the set-top boxapplication automatically during the course of the television program,or upon prompting from the user, e.g. by pressing a button on a remotecontrol.

After the user has indicated a desire to join a chat group, the chatsystem will join the user to the chat group and support the chat groupby distributing real-time communications only between users in the chatgroup who are watching the same television program at step 350. Theset-top box application will indicate to the chat equipment to join theuser to the chat group. The chat equipment will then support the chatgroup by distributing the real-time communications only between users inthe chat group who are watching the program. Each set-top boxapplication will ensure that the user is not provided with anopportunity to join the chat group unless the user has tuned into thechannel that is broadcasting the television program. If desired, theuser can have the option of joining the chat group related to theprogram at any time, but the set-top box application will tune to thetelevision program as soon as the user indicates a desire to join thechat group related to the program.

Another aspect of the present invention involves providing the user withan opportunity to send a chat request to other users who may beinterested in joining a chat group. A chat request is a request forother users (of e.g. a television set-top box application or interactivetelevision program guide) to join a chat group. An illustrative chatrequest display screen 360 that may be used to provide a user with anopportunity to chose groups of other users who may be interested injoining a chat group from a list is shown in FIG. 19.

The user may send a chat request to all other users currently watchingthe same television program that the user is tuned into by choosingoption 362. The chat system would then distribute the chat request tothe recipients via the communications pathways and networks shown inFIG. 1A, 2A, 2B, or 3. The chat equipment may distribute all the chatrequests it receives that are addressed to users associated with atelevision distribution facility to each set of user televisionequipment connected to that television distribution facility. The chatrequests may then be filtered by the set-top box application at therecipient's user television equipment. The set-top box application mayonly display the chat request on the recipient's television screen ifthe recipient user is watching the television program related to thechat request. The user may also block at his set-top box all incomingchat requests, or chat requests that are sent by specific individuals.If desired, the set-top box may be configured to only notify the user ofchat request sent by certain individuals. Also, the user may indicate tohis set-top box application that he only wishes to receive chat requeststhat are related to particular programs, channels, or categories ofprograms. The set-top box application would then only display incomingchat requests on the television based upon the user's indicatedpreferences.

If desired, any user may view all of the available chat requests thatare related to a given television program as a potential recipient of achat request. Display screen 380 of FIG. 20 is an example of a menuformat that may be used to present recipient users with an opportunityto accept a chat request related to the current television program(option 382). The chat requests displayed in display screen 380 may alsobe related to a non-current television program chosen from the programlistings, a channel, or any category of programs. This information wouldalso be displayed as part of option 382. Incoming chat requests may bedisplayed in a list as part of display screen 380. The recipient usermay accept a chat request and join the corresponding chat group bychoosing one of chat request options 384, 386 or 388. In the example ofFIG. 20, the recipient user may join a chat group by entering the numberof a desired chat request on the remote control. The user may also havethe ability to block all incoming chat requests for a period of time orindefinitely by selecting option 381. This feature allows a user tomaintain privacy. The user may block incoming chat requests from certainindividuals by entering their names or addresses in regions 383. Theuser may also program the chat system so that it only allows chatrequests from certain individuals to be received by that user's set-topbox. The user may enter the names or addresses of these individuals inregions 390. The user can decline to join any of the chat groups that heis being requested to join by pressing a Cancel button on the remotecontrol.

Referring again to FIG. 19, a user who desires to send a chat requestmay choose to send a chat request to other users who are interested inthe particular television program that the sender user is tuned into bychoosing option 364. Option 364 is highlighted to indicate that it hasbeen selected by the sender user. The sender user can use arrow keys onhis remote control to select option 364. The user may then press an OKbutton on the remote control to enter his selection. The sender user mayselect option 366 to send a chat request to other users who areinterested in the channel broadcasting the current program. The senderuser may also select option 368 to send a chat request to other userswho are interested in the category of programs that matches the categoryof the program the user is currently watching.

The chat request can be sent to chat equipment (e.g. server) thatforwards the chat request to the appropriate recipients. For example,chat requests may be sent to users who have indicated to the chatequipment or television distribution facility that they have an interestin receiving chat requests regarding a particular program, channel, orcategory of programs. If desired, the set-top box application may assistin the filtering process used to ensure that the chat requests are onlydelivered to the appropriate users. For example, if a chat request is tobe distributed to all users tuned to channel 4, the chat server at atelevision distribution facility may distribute a chat request to allusers with information that specifies that the request is to berestricted to viewers whose set-top boxes are currently tuned to channel4. The set-top box application of each recipient user determines whetherthe user is tuned to channel 4. If the set-top box is not tuned tochannel 4, the chat request is not displayed. Some filtering operationsmay be performed at the server end.

If desired, users can specify certain chat preferences to the chatequipment. For example, a user can specify that he wishes to receivechat requests relating to particular programs, channels, or categoriesof programs. The user may also specify that we wishes to block at hisset-top box all incoming chat requests, or chat requests that are sentby specific individuals. The user may even specify that he wishes toonly receive chat request sent by certain individuals. This informationcan then be sent to the chat equipment, the television distributionfacility, or the television channel chat facility. Profile dataregarding a household user's preferences entered through a displayscreen provided by the set-top box application such as display screen120 of FIG. 4 can be sent to the chat equipment associated with thehousehold, so that the chat equipment may use this information forfiltering chat requests that are related to television programs,channels, or categories of television programs that a user is interestedin. With this arrangement, only the filtered chat requests are sent bythe chat equipment to the recipient user.

The chat system may allow a user to send a chat request only tonon-household users in the user's personal address book who have beenidentified as having an interest in a program, channel, or category ofprograms related to the chat request. The chat system may filter outonly those other users in the address book whose preferences match theprogram, channel, or category of programs related to the chat request.The preferences of other users may be stored in the address book alongwith users' names and addresses. A user interface such as display screen160 of FIG. 6 may be provided by the set-top box application to entersuch user preference information.

A user may select names of other users from his address book by choosingoption 370. In this case, the chat request would only be sent to theparticular people that the user individually chooses from his addressbook. Such a chat request may be displayed on the television screen ofthe user receiving the chat request automatically as soon as the chatrequest is received. If desired, the chat system may be configured toonly have the ability to send chat requests to people on the user'sbuddy list or address book. In addition, the chat system may beconfigured so that a user only receives chat requests from people on hisbuddy list or address book. The functionality of the filteringoperations described with respect to the television chat system of thepresent invention may be performed at a server, at the set-top box ofthe recipient, or at the set-top box of the sender.

Display screen 360 may also present option 372 which allows the user tosend a chat request to a list of individuals that may want toparticipate in a chat group related to the current program. For example,the individuals in the list may be the usual participants in a chatgroup related to a weekly sitcom. The list may be created by the user ashe determines the identities of the weekly participants.

As shown in FIG. 21, display screen 400 may be used to display a chatrequest 410 in the lower portion of the recipient user's televisionscreen. Chat request 410 overlays the television program the user iswatching. Chat request 410 may be translucent so as to minimizeinterruption in the user's viewing of the program. The program is stillunobscured in upper portion 408. Chat request 410 indicates the name ofthe chat group that the recipient of the request is being asked to joinand the name of the sender of the chat request. The chat requestrecipient may accept the chat request and join the chat group byselecting option 402. The chat request recipient can tune to the channelthat the program is airing on by selecting option 404. The chat requestrecipient may decline the chat request by selecting option 406. Therecipient may be allowed to block future requests from a recipient, orto go “private” i.e. not allow any chat requests in from anybody untilfurther notice.

An illustrative process for permitting a user at user televisionequipment to establish a chat group between himself and other users isshown in FIG. 22. At step 420, the set-top box application implementedon the user's television equipment provides the user with an opportunityto set up a chat group with other users. This opportunity may beprovided by the set-top box using any appropriate user interface.Display screen 360 of FIG. 19 is an example of a user interface thatprovides the user with an opportunity to set up a chat group with otherusers by sending them a chat request. Other suitable arrangements may beused to implement the feature of step 420 if desired.

Following step 420, the user may enter chat setup information. The chatsetup information may include, for example, an identification of theintended recipients of the chat request, the name of the chat group, anidentification of the chat server that will support the chat group, thetelevision program that the chat group will be related to, and thechannel that the program is being broadcasted on. If desired, at leastsome of this information may be automatically inserted by the set-topbox application. For example, because the set-top box application knowsthe channel to which the sender user's set-top box is tuned, the set-topbox application may automatically append this information to the chatrequest. The set-top box application may also determine which programthe sender user is watching by accessing a database (e.g., a programlistings database stored locally on the set-top box or on a server) andusing information on the current time (e.g. which the set-top box orserver has access to using a clock). If desired, some of this type ofinformation may be appended to the chat request by the chat equipment orchat server. For example, the set-top box application may provide thechat server with information on which channel the sender user iscurrently tuned to and the chat server may then determine which programis currently being watched (from program listings information stored atthe television distribution facility) and may append this information tothe chat request.

At step 424, the chat system distributes the chat request to the otherusers who may be interested in joining the chat group. The actualrecipients of the chat request can be determined by the chat server, bythe user television equipment, at the television distribution facility,at the television channel chat facility, or a combination thereof. Ifdesired, the chat request that is distributed may be blocked at therecipient's set-top box (e.g., if that recipient has directed hisset-top box application not to accept such requests).

At step 426, the chat system supports the chat group with the user andthe other users who have decided to join the chat group by distributingreal-time communications from each user in the chat group to the otherusers in the chat group. The chat group may be supported by chatequipment such as a chat server. The other users may be notified of thechat group and given an opportunity to join it when the chat requestappears on their television screens as shown and described with respectto FIGS. 20 and 21. The group of other users who have decided to jointhe chat group may be those who have accepted the chat request or thosewho have previously indicated a desire to join a chat group.

An illustrative process for establishing a chat group with the user andother users is shown in FIG. 23. At step 430, the set-top boxapplication implemented on the user television equipment provides theuser with an opportunity to indicate a desire to establish a chat groupwith other users or to indicate a desire to join an existing chat group.Option 286 in television display screen 280 of FIG. 14 is an example ofhow the set-top box application may provide the user with an opportunityto indicate a desire to create a new chat group. User interface region274 of FIG. 13 is an example of how the set-top box application mayprovide the user with an opportunity to indicate a desire to join anexisting chat group or a chat group that is about to be formed.Following step 430, users indicate their desire to establish a chatgroup or to join an existing chat group or chat group that is about tobe formed, for example, by selecting option 276 in FIG. 13 or byselecting option 286 in FIG. 14. The user may also enter chat set upinformation such as the name of the chat group.

At step 434, the chat system establishes a chat group joining the userand the other users who have decided to join. The chat group may be anew chat group that is created, for example, on a chat server, and theuser may be joined to that new chat group. The chat group may also be anexisting chat group to which the user is joined.

In the case of a new chat group, a new chat group is created on a chatserver or using other suitable equipment, such as an audio or videobridge. The user is then joined to the chat group. The other users whohave decided to join are also joined to the new chat group once it hasbeen created. All of the users are now able to send and receivereal-time communications from the other participants in the chat group.Step 434 may be performed by the chat equipment (e.g., a server or anaudio or video bridge), by the set-top box application on the usertelevision equipment, or a combination of both.

Users can then access a list of currently available chat groups relatedto a television program or channel from their television distributionfacility, from a television channel chat facility, or directly from thechat equipment (e.g. server) through the set-top box application. Thechat system can join the user to a selected chat group or groups througha process such as the ones described in connection with FIGS. 18A and23.

An illustrative process for joining a user to a chat group in responseto a chat request is shown in FIG. 24. At step 440, the set-top boxapplication on the user's television equipment displays a chat requestthat asks the user to join a chat group. At step 442, the set-top boxapplication provides the user with an opportunity to indicate a desireto join the chat group. Display screens 380 in FIGS. 20 and 400 in FIG.21 are examples of how the set-top box may display chat requests andprovide the user with an opportunity to join a chat group in response toa chat request.

Following step 442, when the user has decided to join a chat grouplinked to a chat request, the chat system joins the user to the chatgroup at step 446. For example, if the chat group is running on a chatserver, the user is linked to the chat group on that server. If the chatgroup is implemented using audio or video conferencing equipment, theuser is linked to the chat group by connecting the user to the groupwith the audio or video conferencing equipment. The chat groupinformation required to connect the user to the chat group may beprovided to the chat equipment with the chat request. After the user isjoined to the chat group, the user may send and receive real-timecommunications from the other participants in the chat group.

At step 448, the set-top box application provides the user with anopportunity to tune to the television program that is the subject of thechat. Option 404 of FIG. 21 is an example of how the user may beprovided with an opportunity to tune to the television program that isthe subject of the chat. If the user selects this option, the set-topbox will automatically tune to the television channel that isbroadcasting the television program that is the subject of the chat.Information on which channel is broadcasting the program related to thechat request may be provided to the user's set-top box with the chatrequest. This feature allows the user to participate in the chat groupand to view the television program that is the subject of the chatsimultaneously. Step 448 is optional and may be omitted if desired.

Many of the features of the present invention may be used with a two-wayinteractive display remote control. An example of a display remotecontrol is shown in FIG. 25. Display remote control 480 contains displayscreen 482 which may be any suitable type of display screen. A user maycompose a chat message in a chat room to another user using buttons 484.Pressing any of buttons 484 causes the selected letter or number tosimultaneously appear in input region 483 and adjacent to cursor 491.The user may delete a letter or number by pressing Backspace button 486,and may enter upper case letters by pressing Shift button 488. The usermay move the cursor in display region 483 of display screen 482 usingarrow buttons 498. A user may use an icon such as the smiley face indisplay screen 482 to represent himself. A display remote control mayalso have a touch screen. Some or all of the keys (e.g. the alphabetkeys) may be presented on the display, rather than having regular keys.

The display remote control gives the user additional privacy whensending and receiving messages in a chat group. The display remote mayalso be used for sending and receiving chat requests. The display remotecontrol is therefore a two-way interactive remote in that messages maybe composed and sent, as well as received and read by the user. Furtherfeatures of an illustrative display remote control are described inHerrington et al. U.S. provisional patent application Ser. No.60/138,868, filed Jun. 31, 1999, which is hereby incorporated byreference herein in its entirety. A display remote may also be used for1.0 sending messages between users. Further features of an illustrativetelevision message system are described in McKissick et al. U.S. patentapplication Ser. No. 09/356,245, filed concurrently herewith (AttorneyDocket No. UV-128), which is hereby incorporated by reference herein inits entirety.

The foregoing is merely illustrative of the principles of this inventionand various modifications can be made by those skilled in the artwithout departing from the scope and spirit of the invention.

1-20. (canceled)
 21. A method comprising: receiving, from a firstdevice, an indication of a program from a first user; in response to thereceiving the indication, generating a message related to the indicatedprogram and a selectable option that enables a second user to access theindicated program; and transmitting to a second device of the seconduser the message and the selectable option, wherein the message isdisplayed together with the selectable option on the second device. 22.The method of claim 21, wherein the message comprises a title of theindicated program.
 23. The method of claim 21, wherein the second deviceis configured to display the indicated program in response to receivinga selection of the selectable option.
 24. The method of claim 21,further comprising enabling the second user to access the indicatedprogram in response to receiving a selection of the selectable option.25. The method of claim 21, further comprising generating for displaythe indicated program on the second device.
 26. The method of claim 1,further comprising generating the message and the selectable option tobe displayed together on the second device to the second user.
 27. Anon-transitory machine-readable medium comprising instructions thereon,the instructions comprising: instructions to receive, from a firstdevice, an indication of a program from a first user; instructions togenerate a message related to the indicated program and a selectableoption that enables a second user to access the indicated program inresponse to the receiving the indication; and instructions to transmitto a second device of the second user the message and the selectableoption, wherein the message is displayed together with the selectableoption on the second device.
 28. The non-transitory machine-readablemedium of claim 27, wherein the message comprises a title of theindicated program.
 29. The non-transitory machine-readable medium ofclaim 27, wherein the second device is configured to display theindicated program in response to receiving a selection of the selectableoption.
 30. The non-transitory machine-readable medium of claim 27,further comprising instructions to enable the second user to access theindicated program in response to receiving a selection of the selectableoption.
 31. The non-transitory machine-readable medium of claim 27,further comprising instructions to generate for display the indicatedprogram on the second device.
 32. The non-transitory machine-readablemedium of claim 27, further comprising instructions to generate themessage and the selectable option to be displayed together on the seconddevice to the second user.
 33. A method comprising: receiving,responsive to input from a first user at a first device, informationassociated with a program, wherein the information is based on inputfrom a second user at a second device; in response to the receiving theinformation associated with the program, generating a display related tothe program, wherein the display comprises a selectable option thatenables the first user to access the program; receiving an indicationthat the first user has selected the selectable option; and in responseto the receiving the indication, enabling the first user to access theprogram at the first device.
 34. The method of claim 33, wherein thedisplay comprises a title of the program.
 35. The method of claim 33,wherein the first device is configured to display the program inresponse to receiving a selection of the selectable option.
 36. Themethod of claim 33, further comprising enabling the first user to accessthe program in response to receiving a selection of the selectableoption.
 37. The method of claim 33, further comprising generating theprogram for display on the first device.
 38. A non-transitorymachine-readable medium comprising instructions thereon, theinstructions comprising: instructions to receive, responsive to inputfrom a first user at a first device, information associated with aprogram, wherein the information is based on input from a second user ata second device; instructions to generate a display related to theprogram in response to the receiving the information associated with theprogram, wherein the display comprises a selectable option that enablesthe first user to access the program; instructions to receive anindication that the first user has selected the selectable option; andinstructions to enable the first user to access the program at the firstdevice in response to the receiving the indication.
 39. Thenon-transitory machine-readable medium of claim 38, wherein the displaycomprises a title of the program.
 40. The non-transitorymachine-readable medium of claim 38, wherein the first device isconfigured to display the program in response to receiving a selectionof the selectable option.
 41. The non-transitory machine-readable mediumof claim 38, further comprising instructions to enable the first user toaccess the program in response to receiving a selection of theselectable option.
 42. The non-transitory machine-readable medium ofclaim 38, further comprising instructions to generate the program fordisplay on the first device.